Database

Représente une connexion à la base de données et fournit des méthodes pour interagir avec la base de données.

Propriétés

  • private string $type : Représente le type du connecteur de la base de données (par exemple : 'pgsql', 'mysql', 'sqlite', etc.).

  • private string $host : L'hôte pour la connexion à la base de données (par exemple : 'localhost', '10.41.201.2', 'db.example.com', etc.).

  • private int $port : Le numéro de port utilisé pour la connexion à la base de données (par exemple : 5432, 3306, 27017, etc.).

  • private string $name : Le nom de la base de données (par exemple : 'my_database', 'example_db', 'test_db', etc.).

  • private string $user : Le nom d'utilisateur pour la connexion à la base de données (par exemple : 'root', 'admin', 'user', etc.).

  • private string $pass : Le mot de passe pour la connexion à la base de données (par exemple : 'password', '123456', 'admin').

    Remarque : N'utilisez pas ces mots de passe dans un environnement de production.

  • private mixed $dbh : Le gestionnaire de base de données.

  • private array $cache : Propriété privée qui contient le cache pour le connecteur de base de données.

  • private static Database|null $instance : Représente la classe du connecteur de base de données en tant que singleton.

Méthodes

__construct(array $options)

public function __construct(array $options = [
    'type' => 'pgsql',
    'host' => 'localhost',
    'port' => 5432,
    'database' => null,
    'username' => null,
    'password' => null,
    'autoConnect' => true
])

Description

Constructeur de la classe Database. Initialise les propriétés en fonction des options fournies et établit une connexion si autoConnect est true.

Paramètres

  • array $options : Un tableau d'options pour le connecteur. Les clés doivent correspondre aux propriétés de la classe.

Exceptions

  • Lance une exception si la classe est instanciée plus d'une fois.

__destruct()

public function __destruct()

Description

Destructeur de la classe Database. Appelé automatiquement lorsque l'objet n'est plus référencé ou lorsque le script se termine. Utilisé pour effectuer des tâches de nettoyage ou de finalisation.

connect(): PDO

public function connect(): PDO

Description

Établit une connexion à la base de données en utilisant les informations d'identification spécifiées.

Retour

  • PDO : L'objet de connexion à la base de données.

Exceptions

  • Lance une exception si une erreur survient lors de la connexion à la base de données.

close()

public function close()

Description

Ferme la connexion à la base de données.

isConnected(): bool

public function isConnected(): bool

Description

Vérifie si la connexion à la base de données est établie.

Retour

  • bool : Retourne true si la connexion à la base de données est établie, sinon false.

getInstance(): Database

public static function getInstance(): Database

Description

Renvoie une instance du connecteur de base de données. Crée une instance si elle n'existe pas encore.

Retour

  • Database : Une instance du connecteur de base de données.

Exceptions

  • Lance une exception si la connexion à la base de données n'est pas établie.

query(string $query, array $params = array()): PDOStatement

public function query(string $query, array $params = array()): PDOStatement

Description

Exécute une requête SQL et renvoie l'objet PDOStatement résultant.

Paramètres

  • string $query : La requête SQL à exécuter.
  • array $params : Un tableau optionnel de paramètres à lier à la requête.

Retour

  • PDOStatement : L'objet PDOStatement résultant.

Exceptions

  • Lance une exception si la connexion à la base de données n'est pas établie.

fetch(string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array|false

public function fetch(string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array|false

Description

Exécute une requête SELECT et récupère les résultats.

Paramètres

  • string $query : La requête SQL à exécuter.
  • array $params : Un tableau de paramètres à lier à la requête.
  • int $flags : Le style de récupération à utiliser (par défaut : PDO::FETCH_ASSOC).

Retour

  • array|false : Un tableau contenant les résultats récupérés, ou false en cas d'échec.

fetchAll(string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array

public function fetchAll(string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array

Description

Récupère toutes les lignes de la base de données en fonction de la requête et des paramètres fournis.

Paramètres

  • string $query : La requête SQL à exécuter.
  • array $params : Un tableau de paramètres à lier à la requête.
  • int $flags : Les drapeaux de mode de récupération (par défaut : PDO::FETCH_ASSOC).

Retour

  • array : Un tableau contenant toutes les lignes récupérées.

fetchColumn(string $query, array $params = array()): mixed

public function fetchColumn(string $query, array $params = array()): mixed

Description

Récupère une seule colonne de la base de données en fonction de la requête et des paramètres fournis.

Paramètres

  • string $query : La requête SQL à exécuter.
  • array $params : Un tableau optionnel de paramètres à lier à la requête.

Retour

  • mixed : La valeur de la colonne récupérée.

cacheFetch(string $id, string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array|false

public function cacheFetch(string $id, string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array|false

Description

Récupère les données du cache en fonction de l'ID et de la requête fournis. Utilise le cache s'il est disponible.

Paramètres

  • string $id : L'ID de l'entrée de cache.
  • string $query : La requête utilisée pour récupérer les données.
  • array $params : Un tableau optionnel de paramètres pour la requête.
  • int $flags : Un drapeau optionnel pour spécifier le mode de récupération (par défaut : PDO::FETCH_ASSOC).

Retour

  • array|false : Les données récupérées sous forme de tableau associatif, ou false si les données ne sont pas trouvées.

cacheFetchAll(string $id, string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array

public function cacheFetchAll(string $id, string $query, array $params = array(), $flags = PDO::FETCH_ASSOC): array

Description

Récupère toutes les lignes du cache en fonction de l'ID et de la requête fournis. Utilise le cache s'il est disponible.

Paramètres

  • string $id : L'ID du cache.
  • string $query : La requête SQL à exécuter.
  • array $params : Un tableau de paramètres à lier à la requête.
  • int $flags : Les drapeaux de mode de récupération (par défaut : PDO::FETCH_ASSOC).

Retour

  • array : Un tableau contenant toutes les lignes récupérées.

cacheFetchColumn(string $id, string $query, array $params = array()): mixed

public function cacheFetchColumn(string $id, string $query, array $params = array()): mixed

Description

Récupère une colonne unique du cache en fonction de l'ID et de la requête fournis. Utilise le cache s'il est disponible.

Paramètres

  • string $id : L'identifiant unique pour l'entrée de cache.
  • string $query : La requête SQL à exécuter.
  • array $params : Un tableau optionnel de paramètres à lier à la requête.

Retour

  • mixed : La valeur de la colonne récupérée, ou null si non trouvée.

isCached(string $id): bool

public function is

Cached(string $id): bool

Description

Vérifie si un ID spécifique est en cache.

Paramètres

  • string $id : L'ID à vérifier.

Retour

  • bool : Retourne true si l'ID est en cache, sinon false.